home *** CD-ROM | disk | FTP | other *** search
- This is release 1.5 of rc.
-
- Read COPYRIGHT for copying information. All files are
-
- Copyright 1991, Byron Rakitzis.
-
- COMPILING
-
- rc was written in portable ANSI C. If you don't have an ANSI compiler
- like gcc or something close (e.g., sgi's cc) read further down on
- how to convert rc's source to old C.
-
- Please read the Makefile, and copy config.h-dist to config.h and
- examine the parameters in there; they let you customize rc to your
- Unix. For example, some Unices support /dev/fd, or some have FIFOs.
- If you do not perform this step then the Makefile will automatically
- copy config.h-dist to config.h and proceed assuming that everything
- is ok. Note that config.h-dist supplies default parameter configurations
- for SunOS, NeXT-OS, Irix, Ultrix and some others. Finally, if you're
- having trouble you may want to look at proto.h and see if everything
- in there jibes with your system.
-
- After you've built rc, you may wish to run it through a test script
- to see that everything is ok. Type "make trip" for this. This will
- produce some output, and end with "trip is complete". If the trip
- ends with "trip took a wrong turn..." then drop me a line.
-
- To compile the history program, go into the history subdirectory
- and type "make". This will create a binary called "history". However,
- in order for it to work as advertised it must be installed into
- your bin as four files named -, --, -p and --p. (these can be soft
- or hard links to the same file)
-
- rc may also be linked with either GNU readline (10,000+ lines of
- code!) or a supplied readline-like system by Simmule Turner (1,000+
- lines of code). See the Makefile on how to do this.
-
- BUGS
-
- Send bug reports to byron@archone.tamu.edu. If a core dump is
- generated, sending me a backtrace will help me out a great deal. You
- can get a backtrace like this:
-
- ; gdb rc core
- (gdb) where
- <<<BACKTRACE INFO>>>
- (gdb)
-
- Also, always report the machine, compiler and OS used to make rc. It's
- possible I may have access to a machine of that type, in which case it
- becomes much easier for me to track the bug down.
-
- If you are using gcc, please make sure that you have a recent version of
- the compiler (1.39 and up) before you send me a note; I have found that
- older versions of gcc choke over rc and generate bad code on several
- architectures. (this is especially relevant for the the MIPS architecture)
-
- FEEPING CREATURISM
-
- See the end of the man page, under "INCOMPATABILITIES" for (known?)
- differences from the "real" rc. Most of these changes were necessary
- to get rc to work in a reasonable fashion on a real (i.e., commercial,
- non-Labs) UNIX system; a few were changes motivated by concern
- about some inadequacies in the original design.
-
- YACC
-
- The yacc that Sun ships with SunOS 4.1.1 calls malloc() to allocate
- space for the state stack, and requires a call to YYACCEPT or YYABORT
- to free this memory. This means that if rc takes an interrupt while
- parsing a command (say, if ^C is typed), yacc will leak away this
- memory. The solution is to use a yacc which statically allocates
- this array, such as the yacc in the BSD distribution. Berkeley yacc-
- generated y.tab.c and y.tab.h are shipped with rc in case you cannot
- get hold of Berkeley yacc.
-
- OLD C
-
- If you need to convert rc's source into K&R C, you need to run the
- source through a filter called "unproto", posted in comp.sources.misc.
- A sample "cpp" shell script that I used to run unproto under SunOS
- is supplied with rc.
-
- CREDITS
-
- This shell was written by me, Byron Rakitzis, but kudos go to Paul
- Haahr for letting me know what a shell should do and for contributing
- certain bits and pieces to rc (notably the limits code, print.c,
- most of which.c and the backquote redirection code), and to Hugh
- Redelmeier for running rc through his fussy ANSI compiler and
- thereby provoking interesting discussions about portability, and
- also for providing many valuable suggestions for improving rc's
- code in general. Finally, many thanks go to David Sanderson, for
- reworking the man page to format well with troff, and for providing
- many suggestions both for rc and its man page.
-
- Thanks to Boyd Roberts for the original history.c, and to Hugh
- again for re-working parts of that code.
-
- Of course, without Tom Duff's design of the original rc, I could
- not have written this shell (though I probably would have written
- *a* shell). Almost of all of the features, with minor exceptions,
- have been implemented as described in the Unix v10 manuals. Hats
- off to td for designing a C-like, minimal but very useful shell.
-
- Tom Duff has kindly given permission for the paper he wrote for
- UKUUG to be distributed with this version of rc (called "plan9.ps"
- in the same ftp directory as the shell). Please read this paper
- bearing in mind that it describes a program that was written at
- AT&T and that the version of rc presented here differs in some
- respects.
-